運算子庫:硬體平台
此運算子代表 CXP 四通道攝影機與VisualApplets 之間的影像資料介面。
| 適用於硬體平台 |
|---|
| mE5 marathon VCX-QP |
| mE5 ironman VQ8-CXP6D |
| mE5 ironman VQ8-CXP6B |
該運算子在其輸出 O 上提供影像資料。此輸出始終存在。
除了這個標準輸出埠之外,您還可以設定一組可選的輸入與輸出。
在操作員實例化過程中,會出現以下彈出式對話方塊:

在此,您可以指定透過 CXP 纜線連接的通用輸入與輸出之選用埠, 以及與攝影機之間的可選觸發埠。
您可以定義特定 GPI(通用輸入)、特定 GPO(通用輸出)、觸發輸入埠以及觸發輸出埠的可用性。
若將埠可用性設定為「0」(預設值), 該埠將不會出現在操作介面中。 若將埠可用性設定為 1,該埠即會在操作介面中顯示為可用。
該運算子使用了 4 個CameraPort 類型的資源。

![]() |
修改圖片寬度與高度 |
|---|---|
|
您可以將寬度和高度調整為符合特定相機的設定。 然而,操作員埠 O 上的最大影像寬度 上的最大影像寬度必須能被該埠的並行度 。 請確保最大影像寬度能被埠 O 的平行度整除! |
![]() |
價值在於Parallelism |
|---|---|
|
埠 O 的並行度必須至少設定為最小值(如參數MinimalParallelism 所指定)。 不允許設定比此更低的並行度值。 VisualApplets 會根據您為 此運算子的其他參數所定義的值,計算出最低並行度。 如此一來,即可確保始終能接收傳入的資料。 |
![]() |
虛擬像素 |
|---|---|
|
輸出資料可能會包含虛擬像素。 這是因為該運算子可能會將並行度轉換兩次。首先,該 運算子會在內部將並行度轉換為其計算出的最小並行度,並將其 作為唯讀值提供給參數 MinimalParallelism。 這會導致內部 影像寬度可被MinimalParallelism整除, 且可能因平行化轉換而增加虛擬值。 其次, 運算子會將並行度轉換為O。Parallelism , 若第一次並行度轉換所產生的墊片後影像寬度 並非O 的倍數,則可能會 增加更多虛擬值。Parallelism 。因此,輸出資料是否包含 虛擬像素,取決於MinimalParallelism 參數、影像寬度以及O。Parallelism 。每次 平行度轉換都可能增加虛擬像素。這些額外的虛擬像素包含 未定義的資料值,並導致影像寬度偏離實際影像 寬度。 範例:若 MinimalParallelism為 20, O.Parallelism為 32,且傳輸的影像 寬度為 128 像素,則運算子會根據 MinimalParallelism 參數中定義的 20 個內部並行度, 這是因為在 MinimalParallelism參數中定義的內部並行度為 20。在輸出時, 資料向量會轉換為並行度 32 (O.Parallelism ),從而產生 寬度為 160 像素的影像行。 由於存在虛像點,預期輸出影像的寬度為:
|
![]() |
Bit Width 以及格式類型 |
|---|---|
|
埠 O(影像埠)的位元寬度取決於所選的格式類型(參數FormatType):
|
| Property | Value |
|---|---|
| Operator Type | M |
| Input Links | - TriggerI(可選), 由影像擷取卡透過 CXP 通道傳送至相機的觸發訊號。 此連接埠
通常用於觸發線掃描相機。 - GPIx(可選),由幀擷取卡透過 CXP 通道傳送至攝影機的通用輸入 [x]。可用的包括 GPI0、 GPI1、GPI2、GPI3、GPI4、GPI5、GPI6 及 GPI7。 |
| 輸出連結 | - O,影像資料輸出 - TriggerO(可選),由相機透過 CXP 通道傳送至影像擷取卡的觸發訊號。 - GPOx(可選),由相機透過 CXP 通道傳送至影像擷取卡的通用輸出 [x]。可用的選項包括 GPO0、 GPO1、GPO2、GPO3、GPO4、GPO5、GPO6 及 GPO7。 |
| 相機識別碼 | |
|---|---|
| Type | 靜態寫入參數 |
| Default | |
| Range | {-1, 0, 1, 2, 3} |
|
該 CameraID 參數用於向攝影機 操作員的韌體定義 CXP 主控端埠 ID, 以便進行自動 CXP 拓撲發現(攝影機對小程式以及小程式對攝影機)。 透過此參數,您可直接在此操作員中指定 ID。 不過,我們建議您在「資源」對話方塊中指定操作員的資源。 (要開啟「資源」對話方塊,只需選取攝影機操作員,然後從「設計」選單中選擇「資源」選單項目即可。) CameraID 參數將根據「資源」對話方塊中的參數,自動更新為正確的主埠。 以下範例使用一台單鏡頭攝影機和一台雙鏡頭攝影機: ![]()
![]() 模組 3(單鏡頭)的 CameraID(CXP 主埠 ID)為 2。 模組 5(雙鏡頭)的 CameraID(CXP 主埠 ID)為 1。 雙鏡頭相機需要 2 個 CXP 相機連接埠。(四鏡頭相機則需要 4 個連接埠。) 操作員的 CameraID 參數中僅反映主連接埠。 當您定義的 CameraPort 資源數量超過上限(上限為 4)時,例如當您實例化 5 個「CXPSingleCamera」 運算子, 最後一個請求 CameraPort 資源的攝影機運算子(此時所有 4 個可用資源均已佔用) 會將其 CameraID 設定為 -1。 在此情況下,設計規則檢查會報告錯誤。 參數 CameraID 的取值範圍為 {-1,0,1,2,3}。 |
|
| MinimalParallelism | |
|---|---|
| Type | 靜態讀取參數 |
| Default | 20 |
| Range | [1 : 512] |
|
一個唯讀參數,用於指定 輸出鏈路 O 的最低並行度,該並行度仍能傳輸 相機的最大頻寬,且不會造成資料遺失。最低並行度將 自動計算。 該數值取決於 您在FormatMode 參數中選取的像素格式。 若將參數 FormatMode定義為動態 參數(請參閱下文對參數FormatMode 的說明),系統將計算可能發生的最小並行度。 最低程度的並行化可能會導致 產生虛擬像素,因為運算子可能會將並行化 轉換兩次,並在此過程中加入虛擬值。由於這些虛擬像素的存在, 預期輸出影像的寬度為:
|
|
| Status | |
|---|---|
| Type | 動態讀取參數 |
| Default | |
| Range | {0; 2^7-1} |
|
該 Status 參數是一個執行時期的唯讀參數,用以反映攝影師的當前狀態。 位元[0] 表示偵測到 CXP 資料流封包遺失。 位元[1] 表示偵測到 CXP 資料流封包中的單位元組錯誤。 位元[2] 表示偵測到 CXP 資料流封包中的多位元組錯誤。 位元[3..6] 保留未用。 此參數在未來版本中可能會有所變更。 |
|
| 格式類型 | |
|---|---|
| Type | 靜態寫入參數 |
| Default | GRAY |
| Range | 灰階、RGB、RGBA、RAW |
|
在此處,您可以選擇要接收哪種像素格式(依據 CXP 規格定義) 。 您在此處選取的值,將決定在參數FormatMode 中可選取哪些像素格式。 因此,此參數的設定會直接影響參數FormatMode。 請同時參閱下文關於參數FormatMode的說明文件。 |
|
| 格式模式 | |
|---|---|
| Type | 靜態或動態(使用者定義)寫入參數 |
| Default | Mono8 |
| Range | {Mono8、Mono10、Mono12、Mono14、Mono16、 BayerGR8、BayerGR10、BayerGR12、BayerGR14、BayerGR16、 BayerRG8、BayerRG10、BayerRG12、BayerRG14、BayerRG16、 BayerGB8、BayerGB10、BayerGB12、BayerGB14、BayerGB16、 BayerBG8、BayerBG10、BayerBG12、BayerBG14、BayerBG16、 RGB8、RGB10、RGB12、RGB14、RGB16、 RGBA8、RGBA10、RGBA12、RGBA14、RGBA16、 Raw} |
|
此參數提供所有(由 CXP 規格所定義的)像素格式, 且這些格式均屬於您在FormatType 參數中選定的格式類型。 ![]() 您在此處可選取的像素格式,取決於參數 FormatType 的設定。 因此,您所能選用的範圍始終僅限於預設的完整值範圍。 若要取得另一組像素格式,請變更FormatType 參數的設定。 另請參閱上文有關FormatType參數的說明。 具體而言,參數FormatType的以下設定會提供 參數FormatMode 中的以下像素格式: FormatType == GRAY: {Mono8, Mono10, Mono12, Mono14, Mono16, BayerGR8, BayerGR10, BayerGR12, BayerGR14, BayerGR16, BayerRG8, BayerRG10, BayerRG12, BayerRG14, BayerRG16, BayerGB8, BayerGB10, BayerGB12, BayerGB14, BayerGB16, BayerBG8, BayerBG10, BayerBG12, BayerBG14, BayerBG16} FormatType == RGB: {RGB8, RGB10, RGB12, RGB14, RGB16} FormatType == RGBA: {RGBA8, RGBA10, RGBA12, RGBA14, RGBA16} FormatType == RAW: {Raw} Pixel format Raw has a fix bit width of 32Bit. The data are interpreted as received. 您可以決定要將此參數設為動態參數或靜態參數。請在「參數類型」欄位中進行選取: ![]() |
|
| TxTriggerPacketMode | |
|---|---|
| Type | dynamic write parameter |
| Default | CxpStandard |
| Range | {CxpStandard, RisingEdgeOnly} |
|
透過參數TxTriggerPacketMode,您可以提升連接影像擷取卡與攝影機的 CXP 纜線的頻寬。 此頻寬提升是透過微調攝影機觸發訊號的解讀方式來實現的。 此功能僅適用於支援此功能的特定相機。 如需詳細資訊,請聯絡您當地的經銷商或Basler 技術支援部門。 參數TxTriggerPacketMode允許兩種取值(CxpStandard、RisingEdgeOnly):
|
|
| TxTriggerEventCount | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | {0;2^20-1} |
|
該 TxTriggerEventCount 參數 表示已傳送至攝影機的觸發邊緣事件數量。 |
|
| TxTriggerAcknowledgementCount | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | {0;2^20-1} |
|
該 TxTriggerAcknowledgementCount 參數 表示幀擷取卡已接收多少個由攝影機發送的觸發確認封包 (此為對先前發送之觸發邊沿封包的回應) 。 |
|
| TxTriggerWaveformViolation | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | {0,1} |
|
若攝影機操作員偵測到 TriggerI 埠上兩個觸發邊沿之間的距離違反了最低邊沿頻率,則會將此參數設定為 1。 在所有 microEnable 5 平台上,最低邊沿頻率為 550 ns(奈秒)。 該參數會維持其值,直到被讀取為止。 讀取後,該參數會更新其值。 頻率控制會持續運行,且不受該參數讀取狀態的影響。 |
|
以下範例展示了 CXPQuadCamera 運算子的使用方式:
-
「CoaXPress 面陣掃描相機 (CoaXPress Area Scan Cameras)」
範例 — 基本取得
-
範例 — 基本取得
-
「CoaXPress 線形掃描相機 (CoaXPress Line Scan Cameras)」
範例 — 基本取得
-
範例 — 基本取得

![[重要]](../common/images/admon/important.png)





上一頁

